package framework.beans.config;

/**
 * Store info in configuration files
 */
public class InchBeanDefinition {
    // store full path of the classname eg: demo.actions.DemoAction, demo.services.impl.DemoService
    private String beanClassName;
    // load when IoC build or not
    private boolean lazyInit = false;
    //store simple bean name or interface name of this class, which should be the key in IoC container eg: DemoAction, IDemoService
    private  String factoryBeanName;

    private boolean singleton = false;

    /**
     * @return name of the class name of the bean
     */
    public String getBeanClassName() {
        return beanClassName;
    }

    public void setBeanClassName(String beanClassName) {
        this.beanClassName = beanClassName;
    }

    public boolean isLazyInit() {
        return lazyInit;
    }

    public void setLazyInit(boolean lazyInit) {
        this.lazyInit = lazyInit;
    }

    /**
     * @return name of the bean
     */
    public String getFactoryBeanName() {
        return factoryBeanName;
    }

    public void setFactoryBeanName(String factoryBeanName) {
        this.factoryBeanName = factoryBeanName;
    }

    public boolean isSingleton() {
        return singleton;
    }

    public void setSingleton(boolean singleton) {
        this.singleton = singleton;
    }
}
